package sword.offer;

/**
 * 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。
 * 请定义一个函数实现字符串左旋转操作的功能。
 * 比如，输入字符串"abcdefg"和数字2，该函数将返回左旋转两位得到的结果"cdefgab"。
 * 链接：https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof
 *
 * @author 胡宇轩
 * @Email: yuxuan.hu01@bianlifeng.com
 */
public class FiftyEight2 {
    /**
     * 取模的方式很巧妙  但是时间复杂度比较高。因为StringBuilder的操作比较耗时
     * */
    class Solution {
        public String reverseLeftWords(String s, int n) {
            StringBuilder res = new StringBuilder();
            for (int i = n; i < n + s.length(); i++)
                res.append(s.charAt(i % s.length()));
            return res.toString();
        }
    }
}
